package com.xuetang9.t9.hotel.beans;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 入住记录表
 * @author PANG
 */
public class Arrive implements Serializable {

    /**
     *入住记录编号
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long arriveId;

    /**
     *入住房间号
     */
    private Integer roomId;

    /**
     *入住客人编号
     */
    private Long guestId;

    /**
     *同行客人编号
     */
    private Long peerguestId;

    /**
     *接单员编号
     */
    private Integer ordertakerId;

    /**
     *入住时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date arriveDate;

    /**
     *离店时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date leaveDate;

    /**
     *入住天数
     */
    private Integer days;

    /**
     *入住方式
     */
    private Integer checktypeId;

    /**
     *入住标准
     */
    private String arriveStandard;

    /**
     *渠道
     */
    private String channel;

    /**
     *0-在住 1-离店
     */
    private Integer onLine;

    //外键
    /**
     * 房间
     */
    private RoomInfo roomInfo;
    /**
     * 入住客人
     */
    private Guest guest;
    /**
     * 同住客人
     */
    private Guest peerGuest;
    /**
     * 接单员
     */
    private StaffInfo staffInfo;
    /**
     * 入住方式
     */
    private CheckType checkType;

    /**
     * 账单
     */
    private BillDetail billDetail;

    public BillDetail getBillDetail() {
        return billDetail;
    }

    public void setBillDetail(BillDetail billDetail) {
        this.billDetail = billDetail;
    }

    public RoomInfo getRoomInfo() {
        return roomInfo;
    }

    public void setRoomInfo(RoomInfo roomInfo) {
        this.roomInfo = roomInfo;
    }

    public Guest getGuest() {
        return guest;
    }

    public void setGuest(Guest guest) {
        this.guest = guest;
    }

    public Guest getPeerGuest() {
        return peerGuest;
    }

    public void setPeerGuest(Guest peerGuest) {
        this.peerGuest = peerGuest;
    }

    public StaffInfo getStaffInfo() {
        return staffInfo;
    }

    public void setStaffInfo(StaffInfo staffInfo) {
        this.staffInfo = staffInfo;
    }

    public CheckType getCheckType() {
        return checkType;
    }

    public void setCheckType(CheckType checkType) {
        this.checkType = checkType;
    }

    public Long getArriveId() {
        return arriveId;
    }

    public void setArriveId(Long arriveId) {
        this.arriveId = arriveId;
    }

    public Integer getRoomId() {
        return roomId;
    }

    public void setRoomId(Integer roomId) {
        this.roomId = roomId;
    }

    public Long getGuestId() {
        return guestId;
    }

    public void setGuestId(Long guestId) {
        this.guestId = guestId;
    }

    public Long getPeerguestId() {
        return peerguestId;
    }

    public void setPeerguestId(Long peerguestId) {
        this.peerguestId = peerguestId;
    }

    public Integer getOrdertakerId() {
        return ordertakerId;
    }

    public void setOrdertakerId(Integer ordertakerId) {
        this.ordertakerId = ordertakerId;
    }

    public Date getArriveDate() {
        return arriveDate;
    }

    public void setArriveDate(Date arriveDate) {
        this.arriveDate = arriveDate;
    }

    public Date getLeaveDate() {
        return leaveDate;
    }

    public void setLeaveDate(Date leaveDate) {
        this.leaveDate = leaveDate;
    }

    public Integer getDays() {
        return days;
    }

    public void setDays(Integer days) {
        this.days = days;
    }

    public Integer getChecktypeId() {
        return checktypeId;
    }

    public void setChecktypeId(Integer checktypeId) {
        this.checktypeId = checktypeId;
    }

    public String getArriveStandard() {
        return arriveStandard;
    }

    public void setArriveStandard(String arriveStandard) {
        this.arriveStandard = arriveStandard;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public Integer getOnLine() {
        return onLine;
    }

    public void setOnLine(Integer onLine) {
        this.onLine = onLine;
    }

    @Override
    public String toString() {
        return "Arrive{" +
                "arriveId=" + arriveId +
                ", roomId=" + roomId +
                ", guestId=" + guestId +
                ", peerguestId=" + peerguestId +
                ", ordertakerId=" + ordertakerId +
                ", arriveDate=" + arriveDate +
                ", leaveDate=" + leaveDate +
                ", days=" + days +
                ", checktypeId=" + checktypeId +
                ", arriveStandard='" + arriveStandard + '\'' +
                ", channel='" + channel + '\'' +
                ", onLine=" + onLine +
                '}';
    }
}
